#ifndef __RANGO_HORARIO_H__
#define __RANGO_HORARIO_H__

namespace modelo {

	typedef struct Hora {
		int horas;
		int minutos;
	};

	class RangoHorario 
	{
	public:
		RangoHorario(Hora horaDesde, Hora horaHasta);
		~RangoHorario(void);

		bool Contiene(RangoHorario* otroRango);
		bool SePisan(RangoHorario* otroRango);
		/** Accesibilidad */
		Hora GetHoraDesde() {return horaDesde;}
		Hora GetHoraHasta() {return horaHasta;}

		void SetHoraDesde(Hora otraHora) {horaDesde=otraHora;}
		void SetHoraHasta(Hora otraHora) {horaHasta=otraHora;}

	private:
		Hora horaDesde;
		Hora horaHasta;

		bool HoraEsMayorA(Hora unaHora, Hora otraHora);
		bool HoraEsMayorOIgualA(Hora unaHora, Hora otraHora);
		bool HoraEsMenorA(Hora unaHora, Hora otraHora);
		bool HoraEsMenorOIgualA(Hora unaHora, Hora otraHora);
	};
}
#endif